home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / tex / pil50kit.zip / README < prev   
Text File  |  1992-04-09  |  7KB  |  144 lines

  1.                                 PIL 5.0 RELEASE
  2.  
  3.                              Public Domain Software
  4.                                      to 
  5.                                Parse and Generate
  6.  
  7.                                      the
  8.  
  9.                          Publisher's Interchange Language
  10.                                Language Version 5.0
  11.                                   API Version 2.0
  12.  
  13.     Here is the first official release of the PIL Tool Kit. 
  14.     It consists of the source code for the API, a sample main() 
  15.     routines for parsing and generating, and a sample input file.
  16.     This software is distributed on either Macintosh or MS/DOS
  17.     diskettes for your convenience. The software is indentical on
  18.     both disks.
  19.  
  20.     Along with this disk you should also receive a printed copy of 
  21.     the documentation for PIL 5.0. That document includes examples,
  22.     the formal language specification, and the Programmers Guide to 
  23.     the Toolkit. Feel free to copy and distribute this software and
  24.     documentation, as both are in the public domain.
  25.  
  26.     If you do not have the documentation,you can request it from:
  27.     
  28.     Aministrative Assistant to the PPISC
  29.     Quark, Inc.
  30.     300 South Jackson
  31.     Denver CO 80401    
  32.     (303) 934-2211
  33.     
  34.     The following source code files make up the parser, generator, and 
  35.     other API functions:
  36.         pilapi.c - main API functions
  37.         pilparse.c - the parser
  38.         pilgen.c - the generator
  39.         pilglob.c - some global data
  40.         pildefs.c - definitions of all data structures
  41.     
  42.     Also, two files are included which illustrate the use of the Tool Kit for 
  43.     parsing and generating PIL. These are:
  44.         parmain.c - main that illustrates parsing
  45.         genmain.c - main that illustrates export of pages to PIL
  46.     
  47.     And two sample input files:
  48.         bounds.pil - boundary condition tests for parser
  49.         in.pil - the example from the Language Spec.
  50.         
  51.     
  52.     With this release, the language version has been incremented to 5.0, to 
  53.     reflect several changes and additions. The need for these changes was pointed out
  54.     during testing that was done in preparation for the initial implementation of 
  55.     PIL in products under development by a number of vendors. The new syntax of the 
  56.     language is detailed in the Language Spec. Briefly, these are the changes from 4.0:
  57.     
  58.     Text Flows
  59.     In 4.0 it was not possible to link text containers from one layout to another
  60.     and back to the first. This has been corrected by replacing the "to" field of 
  61.     the text flow with a "to-layout" and an optional "to_label" which together name
  62.     the specific text flow being linked to, and allowing a logical chain of text 
  63.     containers to represented with more than one text flow on a given layout. The same
  64.     change was made to "from" field; i.e., there's now a "from-layout" and "from-label".
  65.     
  66.     Object Types
  67.     In 4.0 there was an object type field which was just specified as a string.
  68.     In 5.0 the object type is one of the following:
  69.         text - an object that MAY have flowable text, a container, and a text flow
  70.         picture - an object MAY have image data or structure graphic content file or 
  71.             pil-content
  72.         primitive - an object that is represented only by its object graphic, and can
  73.             not have any other content assocated with it
  74.             
  75.     Shapes
  76.     Two new pseudo-shapes have been added, for use only with the object graphic.
  77.     These are "clipper-shape" and "container-shape". The purpose of these "shapes"
  78.     is to make it easy to represent a graphic which is defined as a border around
  79.     either the clipper or container of an object. This simplifies the task of import
  80.     for applications which allow placing a border around objects. Since a clipper 
  81.     and a container are both closed shaped, these new "shapes" are also closed 
  82.     shapes which may be stroked and filled.
  83.  
  84.  
  85.     INCOMPATIBILITIES WITH PREVIOUS (PRERELEASE) VERSIONS:
  86.     pil_layout_start, pil_content_start
  87.     Version 1.00 and 1.01 of the tool kit required that the application set
  88.     the version string for a pil_layout_start component or pil_content_start
  89.     component after calling pil_create_component. Version 2.0 now sets the 
  90.     version string for you. Remove the code that you have that appends a version
  91.     string to the pil_layout_start and pil_content_start components.
  92.     
  93.     pil_object
  94.     If you were using the objtype field by setting or reading the string that 
  95.     it held, you will have to change your code to use (or ignore) the new object
  96.     types.
  97.     
  98.     text_flows
  99.     The structure of the pil_text_flow has changed. If you were using this, you 
  100.     will have to look at the new structures and change your code accordingly.
  101.  
  102.     BUG FIXES - (The following bugs were fixed between 1.00 and 1.01 of the Tool Kit)
  103.     Several bugs have been fixed, the programmers guide has been updated
  104.     to include new platforms that the code has been ported to, and the 
  105.     version number of the api has been incremented from 1.00 to 1.01 to 
  106.     indicate a bug fix release.
  107.  
  108.     The bug fixes are:
  109.     pilapi.c    -     Fixed 2 bugs in pil_set_buffer, one in pil_alloc,
  110.         that could allow pointers to improper address boundaries, and allow
  111.         the buf to be overrun by several bytes. Changed pil_api_ver to b01.01
  112.     pilgen.c    -    Fixed prototype for pil_put_color, and minor bug.
  113.         Fixed bug in pil_put_pathdata that treated arc radius as unsigned int.
  114.     pildefs.h    -    Added audit section. Fixed prototype for pil_put_color
  115.     parmain.c    -    Added audit trail, changed cnt_buffering_size
  116.     
  117.     NOTES ON DEVELOPMENT AND PORTING
  118.     The api code was developed in THINK╩C on the Macintosh and has been 
  119.     ported to the following platforms:
  120.         MS/DOS, using Turbo C and Microsoft C
  121.         Windows 3.0 using Microsoft C
  122.         Sun Unix on 3/60, Sun 4, and SparcStation, using Sun's cc and gcc
  123.         ISC System V 3.2 running on PC/AT 386 and 486 machines
  124.     
  125.     For more details of the porting, see Part 4 of the PIL docmentation,
  126.     "Programmer's Guide to the Publishing Interchange Language Toolkit.".
  127.     
  128.     The main programs, parmain.c and genmain.c, were not ported to Windows, 
  129.     but should run in any normal sort of environment that has printf, fopen, 
  130.     fread, and so on.
  131.     
  132.     If you want to jump right in, try compiling the modules on your 
  133.     development platform of choice. If it doesn't work the first time, then 
  134.     read the manual! In particular, the sections at the end called Porting 
  135.     Requirements and Porting Suggestions are required reading. 
  136.     
  137.     If you want to acquaint yourself with the language, look at the sample in 
  138.     the language spec. (This example is also included electronically as  
  139.     example.pil.)
  140.     
  141. End of README 
  142.  
  143.  
  144.